Software profiling tools are well known in the art as tools which allow one or more software designers to determine the performance characteristics of an individual software component. Most profiling tools require some “instrumentation” of the code which is to be measured, where the instrumentation includes some changes to the code itself to allow the profiling tool access to its data areas, execution cycles, etc.
Profiling tools of the current art may be applied to processes, threads, scripts, servers, clients, and daemons in computing systems which run a variety of operating systems on a variety of computing hardware platforms.
The profiled software components may be executed in a dedicated computing platform, in a distributed system, in a part of a cluster, or in a cloud computing environment.